[C++]这个表达式的执行顺序是什么?

来源:百度知道 编辑:UC知道 时间:2024/09/22 20:26:51
x=2;y=4;z=7;
x=y--<=x||x+y!=z;
结果x等于1,不知道怎么算的??

x= ((y--)<=x) || ((x+y)!=z)

也就是 x= 0 || 1
也就是 1

分号结束后,y的值变为3

运算符优先级 加减乘除模运算 》 移位 》 比较 》 按位逻辑运算 》 逻辑运算 》 赋值

其中 比较运算中, >=, <=, <, > 比 ==, != 优先级高~

有点难记。。。不过也要记住。。。 :P

先把
bool tmp1 = y<=x;
y++;
bool tmp2 = (x+y) != z;
x = tmp1 || tmp2;